<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        
      /*   1.分类
        *基本(值)类型
        String:任意的字符串
        Number:任意的数字
        boolean：true/false
        undefined:undefined
        null:null
        *对象(引用)类型
        Object:任意对象
        Function:一种特别的对象（可以执行）
        Array:一种特别的对象（数值下标，内部数据是有序的）
        2.判断
        *typeof
            -可以判断undefined/数值/字符串/布尔值
            -不能判断：null与object  object和array
        *instanceof:判断对象的具体类型
        *===
            -可以判断undefined，null
         */
     

         //1.基本值
        var a;
        console.log(a,typeof a,typeof a==='undefined',a===undefined);
        console.log(undefined==='undefined');

        a=4;
        console.log(typeof a=='number');

        a='atguigu';
        console.log(typeof a==='string');

        a=true;
        console.log(typeof a==='boolean');

        a=null
        console.log(typeof a)// 'object'
        console.log('--------------------------------');

        //2.对象
        var b1={
            b2:[1,'abc',console.log],
            b3:function(){
                console.log('b3');
                return function(){
                    return  'gexin';
                }
            }
           
        }
        console.log(b1 instanceof Object,b1 instanceof Array);
        console.log(b1.b2 instanceof Array,b1.b2 instanceof Object);
        console.log(b1.b3 instanceof Function,b1.b3 instanceof Object);

        console.log(typeof b1.b3==='function');
        console.log(typeof b1.b2[2]==='function');
        // b1.b2[2]是一个函数
        b1.b2[2](4);
        console.log(b1.b3()());

    </script>
</head>
<body>
    

</body>
</html>